<?php namespace Common\Model;
use Hdphp\Model\Model;

class Gcate extends Model{
	protected $table='goodscategory';
//	自动验证
	protected $validate=array(
		array('cname','required','分类名称必须填写',3,3),
	);
	
	//自定义一个，添加分类的方法
	public function store(){
//	   判断是不是符合自动验证
		if(!$this->create()) return FALSE;
//	如果通过验证则添加到数据库中
		$this->add();
		return true;
	}
		
//	模型编辑
	public function edit(){
	  	//判断是不是符合自动验证
	  	if(!$this->create())return FALSE;
//		如果符合的话就修改数据库对应的gcid的数据
		$this->save();
		return true;
	}
	//添加子类
	public function addSon(){
//	    判断是不是符合自动验证
		if(!$this->create()) return FALSE;
		$this->add();
		return true;
	}
	
//	自定义找除自己和自己子类的方法
	public function getNoMy($gcid){
//	  	获得子类的所有gcid
		$gcids=$this->getson($this->get(),$gcid);
		//同事吧自己的gcid也压入到￥gcids总
		$gcids[]=$gcid;

		//找出说有符合
		$data=$this->where('gcid not in('.implode(',', $gcids).')')->get();	
		$data=Data::tree($data,'cname','gcid');
		return $data;
	}
	
//声明自动获取子类id的方法
	public function getson($data,$gcid){
	    //声明一个空数组来存放
	    $temp=array();
		//遍历数组对讲符合pid等于gcid的筛选出来压入到空数组里面去
		foreach ($data as $v) {
			//判断找出满足pid等于gcid的
			if($v['pid']==$gcid){
				//讲这条满足条件的压入到数组离去
				$temp[]=$v['gcid'];
				//合并数组，递归找本次循环的子分类gcid
				$temp=array_merge($temp,$this->getson($data,$v['gcid']));
			}
			
		}
		return $temp;
	}
	
	
	
	
	
	
	
	
	
	
	
}
?>